package br.com.beethoven.model.service;

import java.util.ArrayList;
import java.util.List;

import br.com.beethoven.data.interfaces.IComentarioDAO;
import br.com.beethoven.data.interfaces.impl.ComentarioHibernateDAO;
import br.com.beethoven.exception.BDException;
import br.com.beethoven.model.entidade.ComentarioBanda;
import br.com.beethoven.model.entidade.vo.CD_VO;
import br.com.beethoven.model.entidade.vo.ComentarioVO;

public class ServiceGerenciarComentario {
	
	private IComentarioDAO iComentarioDAO;
	
	public ServiceGerenciarComentario(){
		this.iComentarioDAO = new ComentarioHibernateDAO();
	}
	
	public void cadastrar(ComentarioVO comentarioVO) throws BDException {
		ComentarioBanda comentario = new ComentarioBanda();
		comentario.VO2entity(comentarioVO);
		this.iComentarioDAO.addEntity(comentario);
	}
	
	public void editar(ComentarioVO comentarioVO) throws BDException{
		ComentarioBanda comentario = new ComentarioBanda();
		comentario.VO2entity(comentarioVO);
		this.iComentarioDAO.updateEntiy(comentario);
	}
	
	public void remover(ComentarioVO comentarioVO) throws BDException{
		ComentarioBanda comentario = new ComentarioBanda();
		comentario.VO2entity(comentarioVO);
		this.iComentarioDAO.removeEntity(comentario);
	}
	
	public List<ComentarioVO> listar() throws BDException{
		List<ComentarioVO> lista = new ArrayList<ComentarioVO>();
		List<ComentarioBanda> listaAux = new ArrayList<ComentarioBanda>();
		listaAux = this.iComentarioDAO.listAll();
		for(ComentarioBanda comentario : listaAux){
			lista.add(comentario.entity2VO());
		}
		return lista;
	}

	public boolean validar(CD_VO cd_VO){
		return true;
	}

}
